package me.principality.dapp.domain.model

import io.quarkus.hibernate.orm.panache.PanacheEntity
import javax.persistence.Entity

/**
+------------------+--------------+------+-----+---------+----------------+
| Field            | Type         | Null | Key | Default | Extra          |
+------------------+--------------+------+-----+---------+----------------+
| id               | int(11)      | NO   | PRI | NULL    | auto_increment |
| description      | longtext     | YES  |     | NULL    |                |
| modifier         | varchar(255) | YES  |     | NULL    |                |
| dept_belong_id   | varchar(64)  | YES  |     | NULL    |                |
| update_datetime  | datetime(6)  | YES  |     | NULL    |                |
| create_datetime  | datetime(6)  | YES  |     | NULL    |                |
| menuType         | varchar(8)   | NO   |     | NULL    |                |
| icon             | varchar(64)  | YES  |     | NULL    |                |
| name             | varchar(64)  | NO   |     | NULL    |                |
| orderNum         | int(11)      | NO   |     | NULL    |                |
| isFrame          | varchar(8)   | NO   |     | NULL    |                |
| web_path         | varchar(128) | YES  |     | NULL    |                |
| component_path   | varchar(128) | YES  |     | NULL    |                |
| interface_path   | varchar(256) | YES  |     | NULL    |                |
| interface_method | varchar(16)  | NO   |     | NULL    |                |
| perms            | varchar(256) | YES  |     | NULL    |                |
| status           | varchar(8)   | NO   |     | NULL    |                |
| visible          | varchar(8)   | NO   |     | NULL    |                |
| isCache          | varchar(8)   | NO   |     | NULL    |                |
| creator_id       | int(11)      | YES  | MUL | NULL    |                |
| parentId_id      | int(11)      | YES  | MUL | NULL    |                |
+------------------+--------------+------+-----+---------+----------------+
 */

@Entity
data class Menu(
    val description: String = "",
    val menuType: String = "",
    val icon: String = "",
    val name: String = "",
    val orderNum: Int = 0,
    val isFrame: Boolean,
    val webPath: String = "",
    val componentPath: String = "",
    val status: Int = 0,
    val isVisible: Boolean
) : PanacheEntity()
